package com.ruoyi.management.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;


import com.ruoyi.car.api.domain.CheCar;
import com.ruoyi.user.api.domain.CheService;
import com.ruoyi.user.api.domain.CheShop;
import com.ruoyi.user.api.domain.CheUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 订单管理对象 che_order
 * 
 * @author ruoyi
 * @date 2025-01-03
 */
public class CheOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String number;

    /** 商户 */
    @Excel(name = "商户")
    private Long shopId;

    /** 车辆 */
    @Excel(name = "车辆")
    private Long carId;

    /** 用户 */
    @Excel(name = "用户")
    private Long userId;

    /** 服务类别 */
    @Excel(name = "服务类别")
    private Long serviceId;

    /** 优惠卷  */
    @Excel(name = "优惠卷 ")
    private Long couponId;

    /** 总价  */
    @Excel(name = "总价 ")
    private BigDecimal totalPrice;

    /** 实付价格 */
    @Excel(name = "实付价格")
    private BigDecimal realPrice;

    /** 核销码 */
    @Excel(name = "核销码")
    private String verificationCode;

    /** 核销码二维码 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "核销码二维码", width = 30, dateFormat = "yyyy-MM-dd")
    private Date subscribeTime;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date verificationTime;

    @Transient
    private CheUser cheUser;

    public CheUser getCheUser() {
        return cheUser;
    }

    public void setCheUser(CheUser cheUser) {
        this.cheUser = cheUser;
    }
    @Transient
    private CheService cheService;

    public CheService getCheService() {
        return cheService;
    }

    public void setCheService(CheService cheService) {
        this.cheService = cheService;
    }

    @Transient
    private CheShop cheShop;

    public CheShop getCheShop() {
        return cheShop;
    }

    public void setCheShop(CheShop cheShop) {
        this.cheShop = cheShop;
    }


//    @Transient
//private CheUserCoupon cheUserCoupon;
//
//    public CheUserCoupon getCheUserCoupon() {
//        return cheUserCoupon;
//    }
//
//    public void setCheUserCoupon(CheUserCoupon cheUserCoupon) {
//        this.cheUserCoupon = cheUserCoupon;
//    }

    @Transient
    private CheCar cheCar;

    public CheCar getCheCar() {
        return cheCar;
    }

    public void setCheCar(CheCar cheCar) {
        this.cheCar = cheCar;
    }

//    @Transient
//    private CheUser ajaxResult;
//
//    public CheUser getAjaxResult() {
//        return ajaxResult;
//    }
//
//    public void setAjaxResult(CheUser ajaxResult) {
//        this.ajaxResult = ajaxResult;
//    }

    /** 状态 */
    @Excel(name = "状态")
    private Long state;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setNumber(String number) 
    {
        this.number = number;
    }

    public String getNumber() 
    {
        return number;
    }
    public void setShopId(Long shopId) 
    {
        this.shopId = shopId;
    }

    public Long getShopId() 
    {
        return shopId;
    }
    public void setCarId(Long carId) 
    {
        this.carId = carId;
    }

    public Long getCarId() 
    {
        return carId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setServiceId(Long serviceId) 
    {
        this.serviceId = serviceId;
    }

    public Long getServiceId() 
    {
        return serviceId;
    }
    public void setCouponId(Long couponId) 
    {
        this.couponId = couponId;
    }

    public Long getCouponId() 
    {
        return couponId;
    }
    public void setTotalPrice(BigDecimal totalPrice) 
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice() 
    {
        return totalPrice;
    }
    public void setRealPrice(BigDecimal realPrice) 
    {
        this.realPrice = realPrice;
    }

    public BigDecimal getRealPrice() 
    {
        return realPrice;
    }
    public void setVerificationCode(String verificationCode) 
    {
        this.verificationCode = verificationCode;
    }

    public String getVerificationCode() 
    {
        return verificationCode;
    }
    public void setSubscribeTime(Date subscribeTime) 
    {
        this.subscribeTime = subscribeTime;
    }

    public Date getSubscribeTime() 
    {
        return subscribeTime;
    }
    public void setVerificationTime(Date verificationTime) 
    {
        this.verificationTime = verificationTime;
    }

    public Date getVerificationTime() 
    {
        return verificationTime;
    }
    public void setState(Long state) 
    {
        this.state = state;
    }

    public Long getState() 
    {
        return state;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("number", getNumber())
            .append("shopId", getShopId())
            .append("carId", getCarId())
            .append("userId", getUserId())
            .append("serviceId", getServiceId())
            .append("couponId", getCouponId())
            .append("remark", getRemark())
            .append("totalPrice", getTotalPrice())
            .append("realPrice", getRealPrice())
            .append("verificationCode", getVerificationCode())
            .append("subscribeTime", getSubscribeTime())
            .append("createTime", getCreateTime())
            .append("verificationTime", getVerificationTime())
            .append("state", getState())
            .toString();
    }
}
